package model.factory;

import model.AuctionInformation;
import model.AuctionPrivate;
import model.AuctionPublic;
import model.Bid;
import model.Item;
import model.WinnerInformation;
import model.server.AuctioningSystem;

public interface Factory {

	public AuctioningSystem getAuctioningSystem();

	public AuctionPrivate newAuctionPrivate(int reservePrice, int key, int startingPrice, Item item);

	public AuctionPublic newAuctionPublic(int startingPrice, Item item);

	public Bid newBid(int price, String name, String email);

	public Item newItem(String titre, String description);

	public AuctionInformation newAuctionInformation(int auctionID, int key);

	public WinnerInformation newBuyerInformation(String name, String email, int finishingPrice);

	public AuctionPublic newAuctionPublic(AuctionPrivate auction);
}
